The amount of memory available on inexpensive commodity servers has dramatically increased. For example, when some databases including Apache HBase project started, typical machines running Apache Hadoop had 4-8 GB of random access memory (RAM). Now, users and customers run with at least 24 G of RAM, and larger amounts like 48 G, 72 G, or even larger are becoming common as costs continue to come down. On the surface, this new memory capacity appears to be advantageous to latency-sensitive databases like HBase, where with a lot of RAM, more data can fit in cache which can avoid expensive disk seeks on reads, and more data can fit in the MemStore, or the memory area that buffers write to before they flush to disk.
In practice, however, as heap sizes for databases have increased, the garbage collection methods and/or systems available in production-quality Java Development Kits (JDKs) have remained largely the same. This has resulted in longer garbage collection pauses. Long garbage collection pauses can result in latency when client requests are stalled and other issues in the system.